package com.deepexps.security.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.deepexps.security.entity.SysUser;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author moyi
 * @since 2021-11-11 13:10:55
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 根据用户名获取用户信息
     *
     * @param username
     * @return
     */
    SysUser getByUsername(String username);

    /**
     * 获取用户权限信息
     *
     * @param userId
     * @return
     */
    String getUserAuthorityInfo(Long userId);

    /**
     * 清除用户权限信息
     *
     * @param username
     */
    void clearUserAuthorityInfo(String username);

    /**
     * 按角色 ID 清除用户权限信息
     *
     * @param roleId
     */
    void clearUserAuthorityInfoByRoleId(Long roleId);

    /**
     * 按菜单 ID 清除用户权限信息
     *
     * @param menuId
     */
    void clearUserAuthorityInfoByMenuId(Long menuId);
}
